home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 41
/
Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso
/
Aminet
/
util
/
sys
/
Ver.lha
/
Version
/
Version.s
< prev
next >
Wrap
Text File
|
2000-12-20
|
32KB
|
1,760 lines
*****************************************************************************
* *
* PROGRAM: Version (a replacement for C:Version 40.1) *
* VERSION: 40.4 *
* SOURCE CODE: 5 *
* DATE: 05.12.2000 - 20.12.2000 *
* LANGUAGE: C+ (reassembled source Devpac Assembler V3.0) *
* SYSTEM: A1200 KS 40.68 WB 40.42 2MB chip 64MB fast 68030/50mhz *
* *
* AUTHOR: Joerg Riemer 14167 Berlin/SchottmuellerStr.107/Germany *
* EMAIL: mission@cs.tu-berlin.de *
* *
* ------------------------------------------------------------- *
* *
* 40.4 - y2k-patch enhanced to recognize a 4 digit year in *
* datestamps. but due the limit in DOS DateTime 40.15 *
* only the 2 lower digits want be printed. *
* *
* 40.3 - read-routine now checks for a minimum of bytes which *
* will fit a regular versionstring. this means a length *
* of 9 characters "$VER: a x". for further information *
* about regular versionstrings read versionstring.doc *
* - sourcecode downcoded to be compatible for MC68k user. *
* *
* 40.2 - date2amiga output fixed (Y2K problem). maybe not the *
* best patch but it works. *
* *
* ------------------------------------------------------------- *
* *
*****************************************************************************
Output RAM:Version
*****************************************************************************
SECTION Version,CODE
ProgStart link A5,#-$CC
movem.l D2-D7/A2/A3/A6,-(SP)
moveq #$0,D6
moveq #$14,D7
move.w #$4,A0
move.l (A0),A1
move.l A1,-$30(A5)
move.l A1,A6
lea DOSName(PC),A1
moveq #$0,D0
jsr -$228(A6)
move.l D0,-$38(A5)
move.l D0,A0
cmp.w #$25,$14(A0)
bcs WrongLib
lea UTILName(PC),A1
moveq #$25,D0
jsr -$228(A6)
move.l D0,-$34(A5)
moveq #$1F,D0
moveq #$0,D1
lea -$7C(A5),A0
LC0048 move.b D1,(A0)+
dbra D0,LC0048
lea Template(PC),A0
move.l A0,D1
lea -$7C(A5),A1
move.l A1,D2
moveq #$0,D3
move.l -$38(A5),A6
jsr -$31E(A6)
move.l D0,$24(SP)
tst.l D0
beq PrintFault
moveq #-$1,D5
tst.l -$70(A5)
beq.s LC0078
moveq #$20,D5
LC0078 tst.l -$7C(A5)
bne LC0104
clr.l -(SP)
pea $1.w
move.l #$80110001,-(SP)
move.l D3,-(SP)
pea -$5C(A5)
bsr LC107C
lea $14(SP),SP
move.l D0,A3
move.l A3,D0
beq.s LC0104
move.l $14(A3),-(SP)
move.l $10(A3),-(SP)
pea Text(PC)
pea -$C8(A5)
jsr RawDoFmt(PC)
lea -$C8(A5),A0
move.l A0,A1
LC00BA tst.b (A1)+
bne.s LC00BA
subq.l #$1,A1
sub.l A0,A1
move.l D4,-(SP)
move.l A0,D2
move.l A1,D3
lea Text0(PC),A0
move.l A0,D1
move.l -$38(A5),A6
moveq #$40,D4
lsl.l #$3,D4
jsr -$384(A6)
move.l (SP)+,D4
move.l $C(A3),D0
move.l $14(A3),(SP)
move.l $10(A3),-(SP)
move.l D0,-(SP)
pea Text1(PC)
pea -$5C(A5)
bsr LC045A
lea -$5C(A5),A0
move.l A3,A1
bsr LC0BCC
lea $20(SP),SP
LC0104 move.l -$7C(A5),A0
clr.l -(SP)
move.l D5,-(SP)
move.l #$80110002,-(SP)
move.l A0,-(SP)
pea -$5C(A5)
bsr LC107C
lea $14(SP),SP
move.l D0,A2
move.l A2,D0
beq LC0286
btst #$0,$3(A2)
beq LC0280
btst #$1,$3(A2)
beq LC026A
move.l $C(A2),A3
move.l A3,D0
bne.s LC0148
move.l $C(A2),A3
LC0148 move.l $10(A2),D5
move.l $14(A2),D4
move.l A3,D0
move.l D0,-(SP)
pea Text2(PC)
pea -$5C(A5)
bsr LC045A
lea $C(SP),SP
tst.l -$6C(A5)
beq.s LC01D8
btst #$5,$3(A2)
beq.s LC01C0
move.b #$4,-$A8(A5)
sub.l A0,A0
move.l A0,-$A6(A5)
lea -$9A(A5),A1
move.l A1,-$A2(A5)
move.l A0,-$9E(A5)
clr.b -$A7(A5)
lea $18(A2),A0
lea -$B4(A5),A1
move.l (A0)+,(A1)+
move.l (A0)+,(A1)+
move.l (A0)+,(A1)+
lea -$B4(A5),A0
move.l A0,D1
move.l -$38(A5),A6
jsr -$2E8(A6)
lea -$9A(A5),A0
move.l A0,-(SP)
pea DateStr(PC)
pea -$5C(A5)
bsr LC045A
lea $C(SP),SP
LC01C0 move.l $24(A2),D0
beq.s LC01D8
move.l D0,-(SP)
pea Text3(PC)
pea -$5C(A5)
bsr LC045A
lea $C(SP),SP
LC01D8 lea Text4(PC),A0
move.l A0,D1
move.l -$38(A5),A6
jsr -$3B4(A6)
lea -$5C(A5),A0
move.l A2,A1
bsr LC0BCC
tst.l -$7C(A5)
bne.s LC0232
move.l D4,-(SP)
move.l D5,-(SP)
pea Text(PC)
pea -$C8(A5)
jsr RawDoFmt(PC)
lea $10(SP),SP
lea -$C8(A5),A0
move.l A0,A1
LC0210 tst.b (A1)+
bne.s LC0210
subq.l #$1,A1
sub.l A0,A1
move.l D4,-(SP)
move.l A0,D2
move.l A1,D3
lea Text5(PC),A0
move.l A0,D1
move.l -$38(A5),A6
moveq #$40,D4
lsl.l #$3,D4
jsr -$384(A6)
move.l (SP)+,D4
LC0232 moveq #$0,D7
move.l -$78(A5),D0
beq.s LC025A
move.l D0,A3
move.l (A3),D0
cmp.l D0,D5
bge.s LC0246
moveq #$5,D7
bra.s LC0288
LC0246 cmp.l D0,D5
bne.s LC0288
move.l -$74(A5),D0
beq.s LC0288
move.l D0,A0
cmp.l (A0),D4
bge.s LC0288
moveq #$5,D7
bra.s LC0288
LC025A move.l -$74(A5),D0
beq.s LC0288
move.l D0,A0
cmp.l (A0),D4
bge.s LC0288
moveq #$5,D7
bra.s LC0288
LC026A move.l -$7C(A5),-(SP)
pea Text6(PC)
pea -$5C(A5)
bsr LC045A
lea $C(SP),SP
bra.s LC0288
LC0280 moveq #$32,D6
not.b D6
bra.s LC0288
LC0286 moveq #$67,D6
LC0288 move.l $24(SP),D1
move.l -$38(A5),A6
jsr -$35A(A6)
bra.s LC029C
PrintFault jsr -$84(A6)
move.l D0,D6
LC029C tst.l D6
beq.s CloseUTIL
move.l D6,D1
moveq #$0,D2
jsr -$1DA(A6)
CloseUTIL move.l -$34(A5),A1
move.l -$30(A5),A6
jsr -$19E(A6)
bra.s CloseDOS
WrongLib move.l D0,A6
lea Console(PC),A1
move.l A1,D1
move.l #$3EE,D2
jsr -$1E(A6)
move.l D0,D6
tst.l D6
beq.s Error0
moveq #$36,D0
move.l D0,D3
move.l D6,D1
lea Text7(PC),A0
move.l A0,D2
jsr -$30(A6)
move.l D6,D1
jsr -$24(A6)
Error0 move.w #$4,A0
move.l (A0),A1
move.l $114(A1),A0
moveq #$7A,D0
move.l D0,$94(A0)
CloseDOS move.l -$38(A5),A1
move.l -$30(A5),A6
jsr -$19E(A6)
move.l D7,D0
movem.l (SP)+,D2-D7/A2/A3/A6
unlk A5
rts
*****************************************************************************
DOSName dc.b 'dos.library',0
UTILName dc.b 'utility.library',0
even
*****************************************************************************
Template
dc.b 'NAME,VERSION/N,REVISION/N,FILE/S,FULL/S,UNIT/N,INTERNAL/S,RES/S',0
even
*****************************************************************************
dc.b '$VER: version 40.4 (20.12.2000) '
dc.b 'replacement for c:version 40.1 (09.02.93)',0
even
*****************************************************************************
Text dc.b '%ld.%ld',0
Text0 dc.b 'Kickstart',0
Text1 dc.b '%s %ld.%ld, ',0,0
Text2 dc.b '%s',0,0
DateStr dc.b ' (%s)',0
Text3 dc.b $A,'%s',0
Text4 dc.b $A,0
Text5 dc.b 'Workbench',0
Text6 dc.b 'Could not find version information for ''%s''',$A,0,0
*****************************************************************************
Console dc.b '*',0
Text7 dc.b 'This disk requires Kickstart version 2.04 or greater.',$A,0,0
*****************************************************************************
Text8 dc.b '$VER:',0
lW042A dc.w 0
Text9 dc.b '%s %ld.%ld',0,0
VERName dc.b 'version.library',0
Text10 dc.b 'shell',0
Text11 dc.b 'LIBS:',0
Text12 dc.b 'DEVS:',0
*****************************************************************************
cnop 0,4
*****************************************************************************
LC045A link A5,#$0
movem.l D2/A2/A3/A6,-(SP)
move.l $8(A5),A3
move.l $C(A5),A2
move.l A2,D1
lea $10(A5),A0
move.l A0,D2
move.l $24(A3),A6
jsr -$3BA(A6)
movem.l (SP)+,D2/A2/A3/A6
unlk A5
rts
*****************************************************************************
LC0482 link A5,#-$8
movem.l D2/D3/A2/A3/A6,-(SP)
move.l A0,A3
move.l A1,-$8(A5)
move.l -$8(A5),D1
moveq #$0,D2
moveq #$0,D3
move.l $24(A3),A6
jsr -$30C(A6)
move.l D0,A2
move.l A2,D0
bne.s LC04B2
move.l -$8(A5),D1
moveq #$1,D3
jsr -$30C(A6)
move.l D0,A2
LC04B2 move.l A2,D0
movem.l (SP)+,D2/D3/A2/A3/A6
unlk A5
rts
*****************************************************************************
LC04BC movem.l D6/D7/A3,-(SP)
move.l D0,D7
bra.s LC04F6
LC04C4 move.l D7,D0
asl.l #$2,D0
move.l D0,A3
move.l D0,A0
move.l (A0),D7
move.l -$4(A0),D1
lsr.l #$1,D1
move.l D1,D6
bra.s LC04F0
LC04D8 move.w (A3)+,D0
cmp.w #$4AFC,D0
bne.s LC04EE
subq.l #$2,A3
move.l $2(A3),A0
cmp.l A3,A0
bne.s LC04EE
move.l A3,D0
bra.s LC04FC
LC04EE subq.l #$1,D6
LC04F0 moveq #$0,D0
cmp.l D0,D6
bhi.s LC04D8
LC04F6 tst.l D7
bne.s LC04C4
moveq #$0,D0
LC04FC movem.l (SP)+,D6/D7/A3
rts
*****************************************************************************
LC0502 movem.l D5-D7/A2/A3,-(SP)
move.l D0,D7
bra.s LC0540
LC050A move.l D7,D0
asl.l #$2,D0
move.l D0,A3
move.l (A3),D7
moveq #$0,D6
move.l -$4(A3),D5
subq.l #$4,D5
bra.s LC053C
LC051C move.l A3,A2
add.l D6,A2
moveq #$24,D0
cmp.b (A2),D0
bne.s LC053A
moveq #$5,D0
move.l A2,A0
lea Text8(PC),A1
jsr LC1138(PC)
tst.l D0
bne.s LC053A
move.l A2,D0
bra.s LC0546
LC053A addq.l #$1,D6
LC053C cmp.l D5,D6
bcs.s LC051C
LC0540 tst.l D7
bne.s LC050A
moveq #$0,D0
LC0546 movem.l (SP)+,D5-D7/A2/A3
rts
*****************************************************************************
LC054C link A5,#-$7C
movem.l D2/D4-D7/A2/A3/A6,-(SP)
move.l $8(A5),A3
movem.l D0/D1/A0/A1,-$74(A5)
move.l -$68(A5),A2
bset #$0,$3(A2)
move.l A3,D0
beq.s LC0572
bset #$1,$3(A2)
LC0572 tst.w -$72(A5)
beq.s LC057C
moveq #$A,D0
or.l D0,(A2)
LC057C tst.w -$6E(A5)
beq.s LC0586
moveq #$12,D0
or.l D0,(A2)
LC0586 move.l A3,D0
bne.s LC058E
lea lW042A(PC),A3
LC058E moveq #$0,D5
moveq #$5,D0
move.l A3,A0
lea Text8(PC),A1
jsr LC1138(PC)
tst.l D0
bne.s LC05A6
moveq #$5,D5
bra.s LC05A6
LC05A4 addq.l #$1,D5
LC05A6 moveq #$20,D0
cmp.b $0(A3,D5.L),D0
beq.s LC05A4
move.l D5,D0
move.l D0,$24(SP)
bra.s LC05B8
LC05B6 addq.l #$1,D5
LC05B8 move.l A3,A2
add.l D5,A2
move.b (A2),D0
moveq #$20,D1
cmp.b D1,D0
beq.s LC05DE
tst.b D0
beq.s LC05D4
moveq #$A,D1
cmp.b D1,D0
beq.s LC05D4
moveq #$D,D1
cmp.b D1,D0
bne.s LC05D8
LC05D4 moveq #$1,D0
bra.s LC05DA
LC05D8 moveq #$0,D0
LC05DA tst.l D0
beq.s LC05B6
LC05DE move.l D5,D6
bra.s LC05E4
LC05E2 addq.l #$1,D5
LC05E4 move.l A3,A2
add.l D5,A2
moveq #$20,D0
cmp.b (A2),D0
beq.s LC05E2
move.b (A2),D0
move.b D0,$20(SP)
move.b $20(SP),D0
beq.s LC0612
moveq #$A,D1
cmp.b D1,D0
beq.s LC0612
moveq #$D,D1
cmp.b D1,D0
beq.s LC0612
moveq #$30,D1
cmp.b D1,D0
blt.s LC05B8
moveq #$39,D1
cmp.b D1,D0
bgt.s LC05B8
LC0612 move.l A2,D1
lea -$1C(A5),A0
move.l A0,D2
move.l -$6C(A5),A6
move.l $24(A6),A6
jsr -$330(A6)
move.l D0,D7
move.l -$68(A5),A2
tst.l D7
ble.s LC064A
tst.w -$72(A5)
bne.s LC0642
move.l -$1C(A5),$10(A2)
bset #$3,$3(A2)
LC0642 add.l D7,D5
move.l D5,D6
bra.s LC064A
LC0648 addq.l #$1,D5
LC064A moveq #$20,D0
cmp.b $0(A3,D5.L),D0
beq.s LC0648
move.l D5,D4
moveq #$2E,D0
cmp.b $0(A3,D4.L),D0
bne LC085A
addq.l #$1,D5
move.l A3,A0
add.l D5,A0
move.l A0,D1
lea -$1C(A5),A1
move.l A1,D2
move.l -$6C(A5),A6
move.l $24(A6),A6
jsr -$330(A6)
move.l D0,D7
tst.l D7
ble LC085A
tst.w -$6E(A5)
bne.s LC0692
move.l -$1C(A5),$14(A2)
bset #$4,$3(A2)
LC0692 add.l D7,D5
bra.s LC0698
LC0696 addq.l #$1,D5
LC0698 move.l A3,A2
add.l D5,A2
move.b (A2),D0
beq.s LC06AC
moveq #$A,D1
cmp.b D1,D0
beq.s LC06AC
moveq #$D,D1
cmp.b D1,D0
bne.s LC06B0
LC06AC moveq #$1,D1
bra.s LC06B2
LC06B0 moveq #$0,D1
LC06B2 tst.l D1
bne.s LC06BC
moveq #$28,D1
cmp.b D1,D0
bne.s LC0696
LC06BC ;^ move.l -$18(A5),D6
move.l D5,D6
move.l D6,D4
moveq #$28,D0
cmp.b (A2),D0
bne LC085A
move.l D6,D0
subq.l #$1,D0
moveq #$1,D6
move.l D0,-$18(A5)
bra.s LC06E0
LC06D8 move.b $0(A3,D7.L),D0
move.b D0,(A2)
addq.l #$1,D6
LC06E0 lea -$4B(A5),A0
add.l D6,A0
move.l A0,A2
moveq #$14,D0
cmp.l D0,D6
bcc.s LC06FA
move.l D5,D7
add.l D6,D7
moveq #$29,D0
cmp.b $0(A3,D7.L),D0
bne.s LC06D8
LC06FA clr.b (A2)
addq.l #$1,D5
move.l A3,A0
add.l D5,A0
move.l A0,D1
lea -$20(A5),A1
move.l A1,D2
move.l -$6C(A5),A6
move.l $24(A6),A6
jsr -$330(A6)
move.l D0,D7
move.l -$68(A5),A2
tst.l D7
ble LC080A
add.l D7,D5
moveq #$2E,D0
cmp.b $0(A3,D5.L),D0
bne LC080A
addq.l #$1,D5
move.l A3,A0
add.l D5,A0
move.l A0,D1
lea -$24(A5),A1
move.l A1,D2
jsr -$330(A6)
move.l D0,D7
tst.l D7
ble LC080A
add.l D7,D5
moveq #$2E,D0
cmp.b $0(A3,D5.L),D0
bne LC080A
addq.l #$1,D5
move.l A3,A0
add.l D5,A0
move.l A0,D1
lea -$28(A5),A1
move.l A1,D2
jsr -$330(A6)
move.l D0,D7
tst.l D7
ble LC080A
add.l D7,D5
moveq #$29,D0
cmp.b $0(A3,D5.L),D0
bne.s LC077E
addq.l #$1,D5
bra.s LC077E
LC077C addq.l #$1,D5
LC077E moveq #$20,D0
cmp.b $0(A3,D5.L),D0
beq.s LC077C
move.l D5,D4
*****************************************************************************
* move.l #1900,D0
* add.l -$28(A5),D0
;^ 1'patch y2k (5.12.2000) **************************************************
* cmp.w #77,-$28(A5) ;^
* bhi.b .skip ;^
* add.w #100,D0 ;^
;^ **************************************************************************
*.skip move.w D0,-$2C(A5)
*****************************************************************************
;^ 2'patch y2k (20.12.2000) recognize 4 digit year in datestamps ************
move.l -$28(A5),D0 ;^
move.w #2000,D1 ;^
cmp.w #78,D0 ;^
bcs.b .add_D1 ;^
move.w #1900,D1 ;^
cmp.w #100,D0 ;^
bcs.b .add_D1 ;^
move.w #0000,D1 ;^
cmp.w #1978,D0 ;^
bcs.b LC080A ;^
.add_D1 add.w D1,D0 ,^
move.w D0,-$2C(A5)
move.l -$24(A5),D0
move.w D0,-$2E(A5)
move.l -$20(A5),D0
move.w D0,-$30(A5)
moveq #$0,D0
move.w D0,-$32(A5)
move.w D0,-$34(A5)
move.w D0,-$36(A5)
lea -$36(A5),A0
move.l -$6C(A5),A6
move.l $28(A6),A6
jsr -$7E(A6)
move.l D0,D7 ;seconds since 1.1.1978
;^ tst.l D7
beq.b .skip1 ;^ beq.b LC080A
;^ move.l D7,D0
move.l #$15180,D1 ;seconds per day
jsr LC11B4(PC)
.skip1 move.l D0,$18(A2) ;^
beq.b .skip2 ;^ move.l D7,D0
;^ move.l #$15180,D1
;^ jsr LC11B4(PC)
move.l D1,D0
moveq #$3C,D1
jsr LC11B4(PC)
.skip2 move.l D0,$1C(A2) ;^
move.l D7,D0
beq.b .skip3 ;^
moveq #$3C,D1
jsr LC11B4(PC)
moveq #$32,D0
jsr LC1194(PC)
.skip3 move.l D0,$20(A2) ;^
;^***************************************************************************
bset #$5,$3(A2)
LC080A move.l -$18(A5),D6
btst #$5,$3(A2)
bne.s LC085A
moveq #$19,D0
moveq #$0,D1
lea -$64(A5),A0
LC081E move.b D1,(A0)+
dbra D0,LC081E
clr.b -$58(A5)
lea -$4A(A5),A0
move.l A0,-$52(A5)
lea -$64(A5),A0
move.l A0,D1
move.l -$6C(A5),A6
move.l $24(A6),A6
jsr -$2EE(A6)
tst.l D0
beq.s LC085A
lea $18(A2),A0
lea -$64(A5),A1
move.l (A1)+,(A0)+
move.l (A1)+,(A0)+
move.l (A1)+,(A0)+
bset #$5,$3(A2)
LC085A move.l -$68(A5),A2
move.l $C(A2),A0
move.l A0,D0
beq.s LC0898
lea $28(A2),A1
move.l $14(A2),-(SP)
move.l $10(A2),-(SP)
move.l A0,-(SP)
pea Text9(PC)
move.l A1,-(SP)
move.l A1,$38(SP)
jsr RawDoFmt(PC)
lea $14(SP),SP
move.l $24(SP),A2
move.l A2,A0
LC088C tst.b (A0)+
bne.s LC088C
subq.l #$1,A0
sub.l A2,A0
move.l A0,D7
bra.s LC08A4
LC0898 move.l A3,A2
move.l $24(SP),D0
add.l D0,A2
move.l D6,D7
sub.l D0,D7
LC08A4 move.l D7,D0
addq.l #$1,D0
moveq #$1,D1
swap D1
move.l -$6C(A5),A6
move.l $2C(A6),A6
jsr -$2AC(A6)
move.l -$68(A5),A0
move.l D0,$C(A0)
tst.l D0
bne.s LC08D4
move.l A0,A1
move.l -$6C(A5),A0
bsr LC0BCC
moveq #$0,D0
bra LC0972
LC08D4 move.l -$68(A5),A0
bset #$2,$3(A0)
move.l A2,A0
move.l -$68(A5),A1
move.l $C(A1),A1
move.l D7,D0
move.l -$6C(A5),A6
move.l $2C(A6),A6
jsr -$270(A6)
bra.s LC08FA
LC08F8 addq.l #$1,D5
LC08FA move.l A3,A2
add.l D5,A2
move.b (A2),D0
beq.s LC090E
moveq #$A,D1
cmp.b D1,D0
beq.s LC090E
moveq #$D,D1
cmp.b D1,D0
bne.s LC0912
LC090E moveq #$1,D0
bra.s LC0914
LC0912 moveq #$0,D0
LC0914 tst.l D0
beq.s LC08F8
move.l -$68(A5),A2
tst.l D4
bmi.s LC0970
move.l D5,D7
sub.l D4,D7
beq.s LC0970
move.l D7,D0
addq.l #$1,D0
moveq #$1,D1
swap D1
move.l -$6C(A5),A6
move.l $2C(A6),A6
jsr -$2AC(A6)
move.l D0,$24(A2)
tst.l D0
bne.s LC0950
move.l -$6C(A5),A0
move.l A2,A1
bsr LC0BCC
moveq #$0,D0
bra.s LC0972
LC0950 move.l -$68(A5),A2
move.l A3,A0
add.l D4,A0
bset #$6,$3(A2)
move.l $24(A2),A1
move.l D7,D0
move.l -$6C(A5),A6
move.l $2C(A6),A6
jsr -$270(A6)
LC0970 move.l A2,D0
LC0972 movem.l (SP)+,D2/D4-D7/A2/A3/A6
unlk A5
rts
*****************************************************************************
LC097A link A5,#$0
movem.l A2/A3,-(SP)
move.l A0,A3
move.l A1,A2
move.l $8(A5),A0
move.l $E(A0),$C(A2)
moveq #$0,D0
move.b $B(A0),D0
move.l D0,$10(A2)
move.l $12(A0),-(SP)
moveq #$1,D0
moveq #$0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
movem.l -$8(A5),A2/A3
unlk A5
rts
*****************************************************************************
LC09B4 link A5,#-$24
movem.l D2/D3/D5-D7/A2/A3/A6,-(SP)
move.l A0,A3
move.l A1,-$1C(A5)
clr.b -$16(A5)
move.l -$1C(A5),A2
tst.l $8(A2)
bne.s LC09E8
moveq #$40,D0
lsl.l #$2,D0
moveq #$0,D1
move.l $2C(A3),A6
jsr -$2AC(A6)
move.l D0,$8(A2)
tst.l D0
beq LC0BB6
LC09E8 move.l #$1006,D0
moveq #$0,D1
move.l $2C(A3),A6
jsr -$2AC(A6)
move.l D0,$24(SP)
tst.l D0
beq LC0BB6
move.l $8(A5),D1
move.l #$3ED,D2
move.l $24(A3),A6
jsr -$1E(A6)
move.l D0,D7
tst.l D7
beq LC0B8E
bset #$0,$3(A2)
move.l D7,D1
move.l $8(A2),D2
moveq #$40,D3
lsl.l #$2,D3
move.l $24(A3),A6
jsr -$198(A6)
tst.l D0
bne.s LC0A48
move.l $8(A2),A1
move.l $2C(A3),A6
jsr -$2B2(A6)
clr.l $8(A2)
LC0A48 move.b #$1,-$15(A5)
clr.b -$17(A5)
bra LC0B1E
LC0A56 move.l D7,D1
move.l $24(SP),D2
moveq #$40,D3
lsl.l #$6,D3
move.l $24(A3),A6
jsr -$2A(A6)
move.l D0,D6
;^ patch minsize (9.12.2000) ************************************************
moveq #8,D0 ;^ min. size-1 for versionstrings
cmp.l D0,D6 ;^
;^ tst.l D6
ble LC0B26
tst.b -$15(A5)
beq.s LC0A90
clr.b -$15(A5)
moveq #39,D0 ;^ min. size-1 for executables
;^ moveq #$14,D0
;^ **************************************************************************
cmp.l D0,D6
ble.b LC0A90
move.l D2,A0
cmp.l #$3F3,(A0)
bne.s LC0A90
move.b #$1,-$17(A5)
LC0A90 moveq #$0,D5
bra.s LC0AF4
LC0A94 move.l $24(SP),A0
add.l D5,A0
move.l A0,A2
moveq #$24,D0
cmp.b (A2),D0
bne.s LC0AF2
move.l D6,D0
sub.l D5,D0
moveq #$5,D1
cmp.l D1,D0
bge.s LC0ABE
neg.l D0
move.l D0,D2
move.l D7,D1
moveq #$0,D3
move.l $24(A3),A6
jsr -$42(A6)
bra.s LC0AF8
LC0ABE moveq #$5,D0
move.l A2,A0
lea Text8(PC),A1
jsr LC1138(PC)
tst.l D0
bne.s LC0AF2
tst.l D5
ble.s LC0AE6
move.l D5,D0
sub.l D6,D0
move.l D0,D2
move.l D7,D1
moveq #$0,D3
move.l $24(A3),A6
jsr -$42(A6)
bra.s LC0AF8
LC0AE6 move.b #$1,-$16(A5)
move.l A2,-$14(A5)
bra.s LC0AF8
LC0AF2 addq.l #$1,D5
LC0AF4 cmp.l D6,D5
blt.s LC0A94
LC0AF8 tst.b -$16(A5)
beq.s LC0B18
move.l -$14(A5),-(SP)
moveq #$0,D0
move.l D0,D1
move.l A3,A0
move.l -$1C(A5),A1
bsr LC054C
addq.w #$4,SP
move.l D0,-$1C(A5)
bra.s LC0B1E
LC0B18 tst.b -$17(A5)
bne.s LC0B26
LC0B1E tst.b -$16(A5)
beq LC0A56
LC0B26 move.l D7,D1
move.l $24(A3),A6
jsr -$24(A6)
move.l -$1C(A5),A2
tst.b -$16(A5)
bne.s LC0B8E
tst.b -$17(A5)
beq.s LC0B8E
move.l $8(A5),D1
jsr -$96(A6)
move.l D0,D7
tst.l D7
beq.s LC0B8E
move.l D7,D0
bsr LC0502
tst.l D0
beq.s LC0B6C
move.l D0,-(SP)
moveq #$0,D0
move.l D0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
bra.s LC0B84
LC0B6C move.l D7,D0
bsr LC04BC
tst.l D0
beq.s LC0B84
move.l D0,-(SP)
move.l A3,A0
move.l A2,A1
bsr LC097A
addq.w #$4,SP
move.l D0,A2
LC0B84 move.l D7,D1
move.l $24(A3),A6
jsr -$9C(A6)
LC0B8E move.l $24(SP),A1
move.l $2C(A3),A6
jsr -$2B2(A6)
move.l A2,D0
beq.s LC0BB2
btst #$0,$3(A2)
bne.s LC0BB2
move.l $8(A2),A1
jsr -$2B2(A6)
clr.l $8(A2)
LC0BB2 move.l A2,D0
bra.s LC0BC4
LC0BB6 move.l -$1C(A5),A2
move.l A3,A0
move.l A2,A1
bsr.b LC0BCC
moveq #$0,D0
LC0BC4 movem.l (SP)+,D2/D3/D5-D7/A2/A3/A6
unlk A5
rts
*****************************************************************************
LC0BCC movem.l A2/A3/A6,-(SP)
move.l A0,A3
move.l A1,A2
move.l $8(A2),A1
move.l $2C(A3),A6
jsr -$2B2(A6)
move.l $C(A2),A1
jsr -$2B2(A6)
move.l $24(A2),A1
jsr -$2B2(A6)
move.l A2,A1
jsr -$2B2(A6)
movem.l (SP)+,A2/A3/A6
rts
*****************************************************************************
LC0BFC link A5,#-$20
movem.l D2/D3/D7/A2/A3/A6,-(SP)
movem.l A0/A1,-$14(A5)
move.l -$14(A5),A3
moveq #$64,D0
moveq #$1,D1
swap D1
move.l $2C(A3),A6
jsr -$2AC(A6)
move.l D0,A2
move.l A2,D0
beq LC1072
moveq #-$1,D0
move.l D0,$10(A2)
move.l D0,$14(A2)
move.l D0,$18(A2)
move.l D0,$1C(A2)
move.l D0,$20(A2)
tst.l -$10(A5)
bne LC0CE6
move.l #$80110001,D0
moveq #$0,D1
move.l $8(A5),A0
move.l $28(A3),A6
jsr -$24(A6)
move.l $2C(A3),A0
subq.l #$1,D0
bne.s LC0C8A
moveq #$0,D0
move.w $14(A0),D0
move.l D0,$10(A2)
moveq #$0,D0
move.w $22(A0),D0
move.l D0,$14(A2)
pea Text0(PC)
moveq #$1,D0
move.l D0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
bra LC1072
LC0C8A moveq #$1,D0
move.l D0,(A2)
move.l A0,A6
lea VERName(PC),A1
moveq #$0,D0
jsr -$228(A6)
move.l D0,$18(SP)
tst.l D0
beq LC1072
lea Text5(PC),A0
move.l A0,$C(A2)
moveq #$0,D1
move.l D0,A0
move.w $14(A0),D1
move.l D1,$10(A2)
moveq #$0,D1
move.w $16(A0),D1
move.l D1,$14(A2)
move.l $18(A0),-(SP)
moveq #$1,D0
move.l D0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
move.l $18(SP),A1
move.l $2C(A3),A6
jsr -$19E(A6)
bra LC1072
LC0CE6 move.l D0,D1
move.l #$80110002,D0
move.l $8(A5),A0
move.l $28(A3),A6
jsr -$24(A6)
move.l D0,D7
btst #$0,D7
beq.s LC0D26
move.l -$10(A5),A0
move.l A3,A6
jsr LC10A4(PC)
tst.l D0
beq.s LC0D26
moveq #$1,D1
move.l D1,$4(A2)
move.l D0,-(SP)
move.l A3,A0
move.l A2,A1
bsr LC097A
addq.w #$4,SP
move.l D0,A2
moveq #$0,D7
LC0D26 btst #$1,D7
beq LC0DB0
move.l $2C(A3),A6
jsr -$84(A6)
move.l A3,A0
move.l -$10(A5),A1
bsr LC0482
move.l D0,A3
move.l A3,D0
beq.s LC0DA4
move.l $4(A3),D0
moveq #-$2,D1
cmp.l D1,D0
beq.s LC0D58
cmp.l #$FFFFFC19,D0
bne.s LC0D80
LC0D58 move.l -$14(A5),A3
lea Text10(PC),A0
move.l A3,A6
jsr LC10A4(PC)
tst.l D0
beq.s LC0DA2
moveq #$1,D1
move.l D1,$4(A2)
move.l D0,-(SP)
move.l A3,A0
move.l A2,A1
bsr LC097A
addq.w #$4,SP
move.l D0,A2
bra.s LC0DA2
LC0D80 moveq #$2,D0
move.l D0,$4(A2)
move.l $8(A3),D0
bsr LC0502
move.l D0,-(SP)
moveq #$0,D0
move.l D0,D1
move.l -$14(A5),A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
LC0DA2 moveq #$0,D7
LC0DA4 move.l -$14(A5),A3
move.l $2C(A3),A6
jsr -$8A(A6)
LC0DB0 btst #$2,D7
beq LC0E42
move.l -$10(A5),A0
LC0DBC tst.b (A0)+
bne.s LC0DBC
subq.l #$1,A0
sub.l -$10(A5),A0
move.l A0,D0
beq.s LC0E42
move.l A0,$20(SP)
moveq #$3A,D0
move.l -$10(A5),A1
move.l A0,D1
cmp.b -$1(A1,D1.L),D0
bne.s LC0E42
clr.b -$1(A1,D1.L)
moveq #$5,D1
move.l $24(A3),A6
jsr -$28E(A6)
move.l D0,D1
move.l -$10(A5),D2
moveq #$4,D3
jsr -$2AC(A6)
move.l D0,$1C(SP)
moveq #$5,D1
jsr -$294(A6)
tst.l $1C(SP)
beq.s LC0E34
moveq #$1,D0
move.l D0,(A2)
move.l D3,$4(A2)
move.l $1C(SP),A0
tst.l $1C(A0)
beq.s LC0E32
move.l $20(A0),D0
bsr LC04BC
tst.l D0
beq.s LC0E32
move.l D0,-(SP)
move.l A3,A0
move.l A2,A1
bsr LC097A
addq.w #$4,SP
move.l D0,A2
LC0E32 moveq #$0,D7
LC0E34 move.l -$10(A5),A0
move.l $20(SP),D0
move.b #$3A,-$1(A0,D0.L)
LC0E42 btst #$3,D7
beq.s LC0EB4
move.l $2C(A3),A6
jsr -$84(A6)
lea $17A(A6),A0
move.l A0,$1C(SP)
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A1
move.l $1C(SP),A0
move.l A3,A6
jsr LC10DE(PC)
tst.l D0
beq.s LC0EAC
moveq #$8,D1
move.l D1,$4(A2)
move.l D0,A0
move.l $A(A0),$C(A2)
moveq #$0,D1
move.w $14(A0),D1
move.l D1,$10(A2)
moveq #$0,D1
move.w $16(A0),D1
move.l D1,$14(A2)
move.l $18(A0),-(SP)
moveq #$1,D0
move.l D0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
moveq #$0,D7
LC0EAC move.l $2C(A3),A6
jsr -$8A(A6)
LC0EB4 btst #$4,D7
beq.s LC0F26
move.l $2C(A3),A6
jsr -$84(A6)
lea $15E(A6),A0
move.l A0,$1C(SP)
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A1
move.l $1C(SP),A0
move.l A3,A6
jsr LC10DE(PC)
tst.l D0
beq.s LC0F1E
moveq #$10,D1
move.l D1,$4(A2)
move.l D0,A0
move.l $A(A0),$C(A2)
moveq #$0,D1
move.w $14(A0),D1
move.l D1,$10(A2)
moveq #$0,D1
move.w $16(A0),D1
move.l D1,$14(A2)
move.l $18(A0),-(SP)
moveq #$1,D0
move.l D0,D1
move.l A3,A0
move.l A2,A1
bsr LC054C
addq.w #$4,SP
move.l D0,A2
moveq #$0,D7
LC0F1E move.l $2C(A3),A6
jsr -$8A(A6)
LC0F26 btst #$5,D7
beq.s LC0F50
moveq #$20,D0
move.l D0,$4(A2)
move.l -$10(A5),-(SP)
move.l A3,A0
move.l A2,A1
bsr LC09B4
addq.w #$4,SP
move.l D0,A2
move.l A2,D0
beq.s LC0F4E
btst #$0,$3(A2)
beq.s LC0F50
LC0F4E moveq #$0,D7
LC0F50 btst #$6,D7
beq LC0FE0
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A0
LC0F66 tst.b (A0)+
bne.s LC0F66
subq.l #$1,A0
sub.l D0,A0
move.l A0,D0
addq.l #$6,D0
moveq #$0,D1
move.l $2C(A3),A6
jsr -$2AC(A6)
move.l D0,$18(SP)
tst.l D0
beq.s LC0FC8
lea Text11(PC),A0
move.l D0,A1
LC0F8A move.b (A0)+,(A1)+
bne.s LC0F8A
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A1
move.l $18(SP),A0
jsr LC1184(PC)
moveq #$40,D0
move.l D0,$4(A2)
move.l $18(SP),-(SP)
move.l A3,A0
move.l A2,A1
bsr LC09B4
addq.w #$4,SP
move.l D0,A2
move.l $18(SP),A1
move.l $2C(A3),A6
jsr -$2B2(A6)
bra.s LC0FD2
LC0FC8 move.l A3,A0
move.l A2,A1
bsr LC0BCC
sub.l A2,A2
LC0FD2 move.l A2,D0
beq.s LC0FDE
btst #$0,$3(A2)
beq.s LC0FE0
LC0FDE moveq #$0,D7
LC0FE0 btst #$7,D7
beq.s LC1062
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A0
LC0FF4 tst.b (A0)+
bne.s LC0FF4
subq.l #$1,A0
sub.l D0,A0
move.l A0,D0
addq.l #$6,D0
moveq #$0,D1
move.l $2C(A3),A6
jsr -$2AC(A6)
move.l D0,$18(SP)
tst.l D0
beq.s LC1058
lea Text12(PC),A0
move.l D0,A1
LC1018 move.b (A0)+,(A1)+
bne.s LC1018
move.l -$10(A5),D1
move.l $24(A3),A6
jsr -$366(A6)
move.l D0,A1
move.l $18(SP),A0
jsr LC1184(PC)
move.l #$80,$4(A2)
move.l $18(SP),-(SP)
move.l A3,A0
move.l A2,A1
bsr LC09B4
addq.w #$4,SP
move.l D0,A2
move.l $18(SP),A1
move.l $2C(A3),A6
jsr -$2B2(A6)
bra.s LC1062
LC1058 move.l A3,A0
move.l A2,A1
bsr LC0BCC
sub.l A2,A2
LC1062 move.l A2,D0
beq.s LC1072
btst #$0,$3(A2)
bne.s LC1072
clr.l $4(A2)
LC1072 move.l A2,D0
movem.l (SP)+,D2/D3/D7/A2/A3/A6
unlk A5
rts
*****************************************************************************
LC107C link A5,#$0
movem.l A2/A3,-(SP)
move.l $8(A5),A3
move.l $C(A5),A2
pea $10(A5)
move.l A3,A0
move.l A2,A1
bsr LC0BFC
movem.l -$8(A5),A2/A3
unlk A5
rts
*****************************************************************************
cnop 0,4
*****************************************************************************
LC10A4 movem.l A2-A4/A6,-(SP)
move.l $2C(A6),A1
move.l $12C(A1),A2
move.l A0,A3
move.l $28(A6),A6
LC10B6 move.l (A2)+,D0
beq.s LC10D8
bgt.s LC10C4
bclr #$1F,D0
move.l D0,A2
bra.s LC10B6
LC10C4 move.l D0,A4
move.l D0,A1
move.l A3,A0
move.l $E(A1),A1
jsr -$A2(A6)
tst.l D0
bne.s LC10B6
move.l A4,D0
LC10D8 movem.l (SP)+,A2-A4/A6
rts
*****************************************************************************
LC10DE movem.l D2/A2/A3/A6,-(SP)
move.l $28(A6),A6
move.l A1,A3
move.l (A0),D2
LC10EA move.l D2,A2
move.l (A2),D2
beq.s LC1106
move.l A3,A0
move.l $A(A2),A1
jsr -$A2(A6)
tst.l D0
bne.s LC10EA
move.l A2,D0
movem.l (SP)+,D2/A2/A3/A6
rts
LC1106 moveq #$0,D0
movem.l (SP)+,D2/A2/A3/A6
rts
*****************************************************************************
cnop 0,4
*****************************************************************************
RawDoFmt movem.l A2-A4/A6,-(SP)
move.l $14(SP),A3
move.l $18(SP),A0
lea $1C(SP),A1
lea LC1134(PC),A2
move.l $4.w,A6
jsr -$20A(A6)
movem.l (SP)+,A2-A4/A6
rts
LC1134 move.b D0,(A3)+
rts
*****************************************************************************
LC1138 movem.l D6/D7/A2/A3,-(SP)
move.l A0,A3
move.l A1,A2
move.l D0,D7
LC1142 tst.l D7
beq.s LC1166
tst.b (A3)
beq.s LC1166
tst.b (A2)
beq.s LC1166
moveq #$0,D0
move.b (A3)+,D0
moveq #$0,D1
move.b (A2)+,D1
sub.l D1,D0
move.l D0,D6
tst.l D6
beq.s LC1162
move.l D6,D0
bra.s LC117C
LC1162 subq.l #$1,D7
bra.s LC1142
LC1166 tst.l D7
beq.s LC117A
tst.b (A3)
beq.s LC1172
moveq #$1,D0
bra.s LC117C
LC1172 tst.b (A2)
beq.s LC117A
moveq #-$1,D0
bra.s LC117C
LC117A moveq #$0,D0
LC117C movem.l (SP)+,D6/D7/A2/A3
rts
*****************************************************************************
LC1184 move.l A0,D0
LC1186 tst.b (A0)+
bne.s LC1186
subq.l #$1,A0
LC118C move.b (A1)+,(A0)+
bne.s LC118C
rts
*****************************************************************************
cnop 0,4
*****************************************************************************
LC1194 movem.l D2/D3,-(SP)
move.l D0,D2
move.l D1,D3
swap D2
swap D3
mulu D1,D2
mulu D0,D3
mulu D1,D0
add.w D3,D2
swap D2
clr.w D2
add.l D2,D0
movem.l (SP)+,D2/D3
rts
*****************************************************************************
LC11B4 tst.l D0
bpl.b LC11D6
neg.l D0
tst.l D1
bpl.b LC11CC
neg.l D1
bsr.b LC11E6
neg.l D1
rts
LC11CC bsr.b LC11E6
neg.l D0
neg.l D1
rts
LC11D6 tst.l D1
bpl.b LC11E6
neg.l D1
bsr.b LC11E6
neg.l D0
rts
LC11E6 move.l D2,-(SP)
swap D1
move.w D1,D2
bne.b LC1210
swap D0
swap D1
swap D2
move.w D0,D2
beq.b LC1200
divu D1,D2
move.w D2,D0
LC1200 swap D0
move.w D0,D2
divu D1,D2
move.w D2,D0
swap D2
move.w D2,D1
move.l (SP)+,D2
rts
LC1210 move.l D3,-(SP)
moveq #$10,D3
cmp.w #$80,D1
bcc.b LC1220
rol.l #$8,D1
subq.w #$8,D3
LC1220 cmp.w #$800,D1
bcc.b LC122C
rol.l #$4,D1
subq.w #$4,D3
LC122C cmp.w #$2000,D1
bcc.b LC1238
rol.l #$2,D1
subq.w #$2,D3
LC1238 tst.w D1
bmi.b LC1242
rol.l #$1,D1
subq.w #$1,D3
LC1242 move.w D0,D2
lsr.l D3,D0
swap D2
clr.w D2
lsr.l D3,D2
swap D3
divu D1,D0
move.w D0,D3
move.w D2,D0
move.w D3,D2
swap D1
mulu D1,D2
sub.l D2,D0
bcc.b LC1266
subq.w #$1,D3
add.l D1,D0
LC1264 bcc.s LC1264
LC1266 moveq #$0,D1
move.w D3,D1
swap D3
rol.l D3,D0
swap D0
exg D0,D1
move.l (SP)+,D3
move.l (SP)+,D2
rts
end ************************************************************************